package com.amt.olcacon.entity;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 流程表实体类
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("tbl_processes")
public class TblProcessEntity implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "ID")
    private Long id;

    @TableField("REF_ID")
    private String refId;

    @TableField("NAME")
    private String name;

    @TableField("VERSION")
    private Long version;

    @TableField("LAST_CHANGE")
    private Long lastChange;

    @TableField("F_CATEGORY")
    private Long fCategory;

    @TableField("TAGS")
    private String tags;

    @TableField("LIBRARY")
    private String library;

    @TableField("DESCRIPTION")
    private String description;

    @TableField("OTHER_PROPERTIES")
    private byte[] otherProperties;

    @TableField("PROCESS_TYPE")
    private String processType;

    @TableField("DEFAULT_ALLOCATION_METHOD")
    private String defaultAllocationMethod;

    @TableField("INFRASTRUCTURE_PROCESS")
    private Integer infrastructureProcess;

    @TableField("F_QUANTITATIVE_REFERENCE")
    private Long fQuantitativeReference;

    @TableField("F_LOCATION")
    private Long fLocation;

    @TableField("F_PROCESS_DOC")
    private Long fProcessDoc;

    @TableField("F_DQ_SYSTEM")
    private Long fDqSystem;

    @TableField("DQ_ENTRY")
    private String dqEntry;

    @TableField("F_EXCHANGE_DQ_SYSTEM")
    private Long fExchangeDqSystem;

    @TableField("F_SOCIAL_DQ_SYSTEM")
    private Long fSocialDqSystem;

    @TableField("LAST_INTERNAL_ID")
    private Integer lastInternalId;

    // 自动填充字段示例
    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createTime;

    @TableField(fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updateTime;
}